package model

import (
	"github.com/gomodule/redigo/redis"
)

// 存储短信验证码
func SaveImgCode(code, uuid string) error {
	conn := RedisPool.Get()

	defer conn.Close()

	// 存储短信验证码到 redis 中
	_, err := conn.Do("setex", uuid, 60*5, code)

	return err
}

// 校验图片验证码
func CheckImgCode(uuid, imgCode string) bool {
	// 链接 redis --- 从链接池中获取链接
	conn := RedisPool.Get()
	defer conn.Close()

	// 查询 redis 数据
	code, err := redis.String(conn.Do("get", uuid))
	if err != nil {
		return false
	}

	// 返回校验结果
	return code == imgCode
}

// 存储短信验证码
func SaveSmsCode(phone, code string) error {
	// 链接 Redis --- 从链接池中获取一条链接
	conn := RedisPool.Get()
	// conn.Do("AUTH", global.Redis_PassWord)
	defer conn.Close()

	// 存储短信验证码到 redis 中
	_, err := conn.Do("setex", phone+"_code", 60*3, code)

	return err
}

func GetImgCode(uuid string) (string, error) {
	//获取redis链接
	conn := RedisPool.Get()
	//获取数据
	return redis.String(conn.Do("get", uuid))
}

//校验短信验证码是否正确
func GetSmsCode(phone string) (string, error) {
	//获取redis链接
	conn := RedisPool.Get()
	//获取数据
	return redis.String(conn.Do("get", phone+"_code"))
}
